package SelectSorting;

/**
 * Created with IntelliJ IDEA.
 * Description:选择排序的传统算法
 * User: 均先生
 * Date: 2023-11-19
 * Time: 14:47
 */
public class SelectSorting {
    /**
     * 选择排序算法:把从i+1开始将后面每个数都与第i个数进行比较
     * 时间复杂度:O(n^2)
     * 空间复杂度:O(1)
     * 稳定性:不稳定
     * @param array
     */
    public static void selectSort(int[] array) {
        for (int i = 0; i < array.length; i++) {
            int minIndex = i;
            for (int j = i+1; j < array.length; j++) {
                if (array[j] < array[minIndex]) {
                    minIndex = j;
                }
            }
            swap(array,i,minIndex);
        }
    }

    private static void swap(int[] array, int i, int j) {
        int tmp = array[i];
        array[i] = array[j];
        array[j] = tmp;
    }
}
